Such a system or method is used, for example, for developing new programs for numerically controlled machine tools. Modern machine tools have a numerical control which allows a production process to be defined in software in the form of an NC program. Within such an NC program, a user can define operations which a machine tool is to carry out for machining a workpiece in the form of individual instructions. For example, such an NC program can specify the time in which or speed with which a tool is to be moved to a particular starting position at the beginning of a production process. In the case of a numerically controlled milling machine, the NC program defines a cutting path which the tool is to follow to machine the workpiece at a rate of feed likewise defined in the program.
NC-controlled machine tools offer the user a high degree of flexibility in respect of the end products to be produced. If a new product is to be produced on a machine tool, a new NC program must be created or an existing one modified for this purpose. It is desirable that this NC program be analyzed, evaluated and optimized before it is used for volume production.
New NC programs or sub-routines are generally developed in advance using a suitable programming system, independently of the target system. Before the program is used for mass production, it is often tested on a simulation system, an abstract control model generally being used for the actual target system. Finally the program can also be tested in real time on the actual target system itself, i.e. on the actual control or actual machine. Although real-time testing on the actual target system provides more accurate and informative results than simulation on a simulation system because of the abstract and simplified models used in the simulation, it is much more time-consuming.
Tools known as profilers are often used to analyze and optimize the runtime behavior of software programs. Profilers help a developer to detect and eliminate problem areas by analyzing and comparing running programs. The purpose of profiler tools is generally to maximize the efficiency and therefore the speed of execution of a software program on a computing unit.
DE 199 28 980 A1 discloses a method, a system and a device for generating and optimizing native code in a runtime compiler from a group of bytecodes. Using a “profiling” process performed during one or more program runs, knowledge of a set of classes used in a program is collected and can be used for optimizing the program for a specific runtime environment.
In today's production plants, because optimum machine capacity utilization is required, it is usual for production processes to be executed in parallel on a plurality of production devices, with all the machining resources having to be synchronized. The planning and subsequent coordination of these sequences are highly complex. The actual coordination of multiple machine attendance is therefore often performed in practice by a machine operator himself. When a plurality of production devices are used as part of a production process, prior production planning is difficult or only possible on the basis of empirical values or estimates. The more precise the planning of multiple machine operation, the higher the planning complexity required for maximizing machine capacity utilization.
Various methods have hitherto been used for planning multiple machine attendance in a production process. In the simplest case, production planning is based on a rough estimate using empirical values. These empirical values cover all the relevant operations such as automatic sequences (turning, milling), manual interventions (rechucking of workpieces) or restrictions of operation due to operational requirements such as working hours, rest breaks or meal breaks, the precise multiple machine attendance strategy generally being defined by the machine operator himself.
In a somewhat more precise but also much more complex procedure, all the operations in a production line are listed and provided with the relevant estimated or calculated time requirement, all the operations resulting from a specific multiple machine attendance having to be recorded beforehand.